Reening Speciications to Logic Programs

نویسندگان

  • I. J. Hayes
  • R. G. Nickson
  • P. A. Strooper
چکیده

The reenement calculus provides a framework for the stepwise development of imperative programs from speciications. In this paper we study a reenement calculus for deriving logic programs. Dealing with logic programs rather than imperative programs has the dual advantages that, due to the expressive power of logic programs, the nal program is closer to the original speciication, and each reenement step can achieve more. Together these reduce the overall number of derivation steps. We present a logic programming language extended with speciication constructs (including general predicates, assertions, and types and invariants) to form a wide-spectrum language. General predicates allow non-executable properties to be included in speciications. Assertions, types and invariants make assumptions about the intended inputs of a procedure explicit, and can be used during reenement to optimize the constructed logic program. We provide a semantics for the extended logic programming language and derive a set of reenement laws. Finally we apply these to an example derivation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reening Logic Programs Using Types and Invariants Reening Logic Programs Using Types and Invariants

The logic programming reenement calculus provides a method for transforming speciications to executable code, maintaining the correctness of the code with respect to its speciication. In this paper we show how types, and their generalisation, invariants, which allow conditions that relate several variables , can be handled in the logic programming reenement calculus. Types and invariants provid...

متن کامل

Development of Communication Protocols by Composing and Reening Temporal Speciications

This paper presents a modular temporal logic for the speciication and veriica-tion of communication protocols. Based on this setting we present a development method that supports stepwise reenement of distributed systems. An inference rule for composing temporal speciications as well as proof rules for the veriication of reenements are given. We illustrate the application of our method by reeni...

متن کامل

Data Reening Logic Programs

A reenement calculus provides a method for transforming speciications to executable code, maintaining the correctness of the code with respect to its speciication. One aspect of reenement is transforming the representation of data in a speciication. This could be performed for eeciency reasons, or to change an abstract speciication type into a data type that is in the target implementation lang...

متن کامل

An Incompleteness Result for Deductive Synthesis of Logic Programs

We formalise the derivation of logic programs from their speciications by deductive synthesis, and introduce the notion of uniform equivalence between logical systems. This enables us to present an incompleteness result for deductive synthesis of logic programs from rst-order logic speciications.

متن کامل

Forms of Logic Speci cations : A Preliminary Study ?

There is no universal agreement on exactly what form a spec-iication should take, what part it should play in synthesis, and what its precise relationship with the speciied program should be. In logic programming , the role of speciication is all the more unclear since logic programs are often used as executable speciications. In this paper we take the view that speciications should be set in t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996